f0bc45
@@ -547,40 +547,6 @@
public class CombinedConfiguration extends HierarchicalConfiguration implements
         return copy;
     }
 
-    /**
-     * Returns the value of the specified property. This implementation
-     * evaluates the <em>force reload check</em> flag. If it is set, all
-     * contained configurations will be triggered before the value of the
-     * requested property is retrieved.
-     *
-     * @param key the key of the desired property
-     * @return the value of this property
-     * @since 1.4
-     */
-    public Object getProperty(String key)
-    {
-        if (isForceReloadCheck())
-        {
-            for (Iterator it = configurations.iterator(); it.hasNext();)
-            {
-                try
-                {
-                    // simply retrieve a property; this is enough for
-                    // triggering a reload
-                    ((ConfigData) it.next()).getConfiguration().getProperty(
-                            PROP_RELOAD_CHECK);
-                }
-                catch (Exception ex)
-                {
-                    // ignore all exceptions, e.g. missing property exceptions
-                    ;
-                }
-            }
-        }
-
-        return super.getProperty(key);
-    }
-
     /**
      * Returns the configuration source, in which the specified key is defined.
      * This method will determine the configuration node that is identified by
@@ -634,6 +600,53 @@
public class CombinedConfiguration extends HierarchicalConfiguration implements
         return source;
     }
 
+    /**
+     * Evaluates the passed in property key and returns a list with the matching
+     * configuration nodes. This implementation also evaluates the
+     * <em>force reload check</em> flag. If it is set,
+     * <code>performReloadCheck()</code> is invoked.
+     *
+     * @param key the property key
+     * @return a list with the matching configuration nodes
+     */
+    protected List fetchNodeList(String key)
+    {
+        if (isForceReloadCheck())
+        {
+            performReloadCheck();
+        }
+
+        return super.fetchNodeList(key);
+    }
+
+    /**
+     * Triggers the contained configurations to perform a reload check if
+     * necessary. This method is called when a property of this combined
+     * configuration is accessed and the <code>forceReloadCheck</code> property
+     * is set to <b>true</b>.
+     *
+     * @see #setForceReloadCheck(boolean)
+     * @since 1.6
+     */
+    protected void performReloadCheck()
+    {
+        for (Iterator it = configurations.iterator(); it.hasNext();)
+        {
+            try
+            {
+                // simply retrieve a property; this is enough for
+                // triggering a reload
+                ((ConfigData) it.next()).getConfiguration().getProperty(
+                        PROP_RELOAD_CHECK);
+            }
+            catch (Exception ex)
+            {
+                // ignore all exceptions, e.g. missing property exceptions
+                ;
+            }
+        }
+    }
+
     /**
      * Creates the root node of this combined configuration.
      *
